package com.agricultural.factory;

import com.agricultural.equipment.*;
import com.agricultural.observer.Observer;
import com.agricultural.strategy.PathPlanningStrategy;
import com.agricultural.strategy.impl.DefaultPathStrategy;
import com.agricultural.state.EquipmentState;
import com.agricultural.state.impl.IdleState;

// 农机设备工厂类 - 工厂方法模式
public class EquipmentFactory {
    
    // 创建农机设备的工厂方法
    public static AgriculturalEquipment createEquipment(String type, String id) {
        // 根据不同类型创建不同的农机设备
        switch (type.toLowerCase()) {
            case "tractor"://拖拉机
                return new Tractor(id);
            case "seeder"://播种机
                return new Seeder(id);
            case "sprayer"://喷药机
                return new Sprayer(id);
            case "harvester"://收割机
                return new Harvester(id);
            // 新增设备只需添加case，符合开闭原则
            default:
                throw new IllegalArgumentException("不支持的农机类型: " + type);
        }
    }
}    